/*
 *
 */
package plugin.myeclipse;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

/**
 * The Class CreatePluginsConfig.
 *
 * @author TheOne
 */
public class CreatePluginsConfig {

	/**
	 * The main method.
	 *
	 * @param args the arguments
	 */
	public static void main(String[] args) {
		String plugin = "D:\\Dev\\MyEclipse\\dropins\\tomcatV33\\eclipse\\plugins";
		new CreatePluginsConfig().print(plugin);
	}

	/**
	 * Instantiates a new creates the plugins config.
	 */
	public CreatePluginsConfig() {
	}

	/**
	 * Gets the file list.
	 *
	 * @param path the path
	 * @return the file list
	 */
	public List<String> getFileList(String path) {
		path = getFormatPath(path);
		path = path
				+ "/";
		File filePath = new File(path);
		if (!filePath.isDirectory()) {
			return null;
		}
		String[] filelist = filePath.list();
		List<String> filelistFilter = new ArrayList<String>();

		for (String element : filelist) {
			String tempfilename = getFormatPath(path
					+ element);
			filelistFilter.add(tempfilename);
		}
		return filelistFilter;
	}

	/**
	 * Gets the format path.
	 *
	 * @param path the path
	 * @return the format path
	 */
	public String getFormatPath(String path) {
		path = path.replaceAll("\\\\", "/");
		path = path.replaceAll("//", "/");
		return path;
	}

	/**
	 * Gets the string.
	 *
	 * @param object the object
	 * @return the string
	 */
	public String getString(Object object) {
		if (object == null) {
			return "";
		}
		return String.valueOf(object);
	}

	/**
	 * Prints the.
	 *
	 * @param path the path
	 */
	public void print(String path) {
		List<String> list = getFileList(path);
		if (list == null) {
			return;
		}

		int length = list.size();
		for (int i = 0; i < length; i++) {
			String result = "";
			String thePath = getFormatPath(getString(list.get(i)));
			File file = new File(thePath);
			if (file.isDirectory()) {
				String fileName = file.getName();
				if (fileName.indexOf("_") < 0) {
					print(thePath);
					continue;
				}
				String[] filenames = fileName.split("_");
				String filename1 = filenames[0];
				String filename2 = filenames[1];
				result = filename1
						+ ","
						+ filename2
						+ ",file:/"
						+ path
						+ "\\"
						+ fileName
						+ "\\,4,false";
				System.out.println(result);
			} else if (file.isFile()) {
				String fileName = file.getName();
				if (fileName.indexOf("_") < 0) {
					continue;
				}
				int last = fileName.lastIndexOf("_");
				String filename1 = fileName.substring(0, last);
				String filename2 = fileName.substring(last + 1, fileName.length() - 4);
				result = filename1
						+ ","
						+ filename2
						+ ",file:/"
						+ path
						+ "\\"
						+ fileName
						+ ",4,false";
				System.out.println(result);
			}

		}
	}
}
